Hasta-La-Vista: Termination Analyser for Logic Programs

نویسندگان

  • Alexander Serebrenik
  • Danny De Schreye
چکیده

Verifying termination is often considered as one of the most important aspects of program verification. Logic languages, allowing us to program declaratively, increase the danger of non-termination. Therefore, termination analysis received considerable attention in logic programming (see e.g. [7, 8, 10, 16]). Unfortunately, the majority of existing termination analysers, such as TermiLog [15], TerminWeb [7], and cTI [16] are restricted to pure logic programs and thus, leave many interesting real-world examples out of consideration. Therefore, in order to abridge the gap between programming practice and existing termination analysers real-world programming techniques should be considered. In this paper we present Hasta-La-Vista—a powerful tool for analysing termination of logic programs with integer computations. Hasta-La-Vista extends the constraints-based approach of Decorte et al. [9] by integrating the inference algorithm of [19]. Moreover, as explained in [19], in the integer case our approach is not limited to proving termination, but can also infer termination, i.e., find the set of queries terminating for a given program. System architecture. Conceptually, Hasta-La-Vista consists of three main parts: transformation, constraints generation and constraints solving. As a preliminary step, given a program and a set of atomic queries, type analysis of Janssens and Bruynooghe [14] computes the call set. We opted for a very simple type inference technique that provides us only with information whether some argument is integer or not. Based on the results of the type analysis the system decides whether termination of the given program can be dependent on the integer computation. In this case, the adorning transformation is applied [19]. The aim of the transformation is to discover bounded integer arguments and to make the bounds explicit. Intuitively, if a variable x is known to be bounded from above by n, then n x is always positive and thus, can be used as a basis for a definition of a levelmapping (a function from the set of atoms to the naturals). In order to prove termination we have to show that the level-mapping decreases while traversing a clause. This requirement can be translated into a set of constraints. Finally, this set of constraints is solved and depending on the solution termination is

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Termination Competition

Since 2004, a Termination Competition is organized every year. This competition boosted a lot the development of automatic termination tools, but also the design of new techniques for proving termination. We present the background, results, and conclusions of the three first editions, and discuss perspectives and challenges for the future. 1 Motivation and history In a landmark paper in 1970, M...

متن کامل

Diseño de Circuitos Lógicos en base a la tecnología FPGA: Un ejemplo de aplicación (Compendio)

Si bien el dispositivo seleccionado es del tipo de Arreglo de Celdas Lógicas (Logic Cell Array, LCA), los criterios de diseño y las herramientas de programación aplicadas son, en lo general, similares a los correspondientes a otras familias de dispositivos FPGA. La razón de esta selección es que los LCA tienen una gran aceptación como alternativa práctica de los tradicionales PLDs, y en algunos...

متن کامل

Inferring Termination Conditions for Logic Programs Using Backwards Analysis

This paper focuses on the inference of modes for which a logic program is guaranteed to terminate. This generalises traditional termination analysis where an analyser tries to verify termination for a specified mode. Our contribution is a methodology in which components of traditional termination analysis are combined with backwards analysis to obtain an analyser for termination inference. We i...

متن کامل

TerminWeb: Termination Analyzer for Logic Programs

The TerminWeb analyser is a semantic based termination analyser for logic programs. It is uniqueness in that it is based on a semantics which makes the termination properties observable. Its implementation is obtained as an abstraction of an interpreter which computes the termination semantics of a given program. TerminWeb supports termination checking and inference with respect to semi-linear ...

متن کامل

Twelve recommendations following a discussion about the Mississippi baby - Implications for public health programmes to eliminate newHIV infections among children

Twelve recommendations following a discussion about the 'Mississippi baby' Implications for public health programmes to eliminate new HIV infections among children

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003